package com.nus.fellowmark.modules.assignment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nus.fellowmark.common.utils.PageUtils;
import com.nus.fellowmark.entity.PairingEntity;
import com.nus.fellowmark.modules.assignment.dto.PairingDTO;
import com.nus.fellowmark.modules.assignment.vo.PairingVO;

import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author Chen Ruoyi
 * @email chenruoyisz@gmail.com
 * @date 2023-02-10  
 */
public interface PairingService extends IService<PairingEntity> {

    PageUtils queryPage(Map<String, Object> params);

    Boolean pair(PairingDTO pairingDTO);

    List<PairingVO> listPairsOfAssignment(Integer assignmentId);

    List<PairingEntity> listPairsByMarkerId(Integer studentId);

    List<PairingEntity> listPairsByMarkerIdInactive(Integer studentId, Integer inactive);

    PairingEntity getStudentIdByPairId(Integer pairId);

    List<PairingEntity> listPairsByStuAndAsgId(Integer stuId, Integer assignmentId);

    List<PairingEntity> listPairsByMarkerAndAsgId(Integer stuId, Integer assignmentId);

    boolean inactivePair(List<Integer> submissionIds);
}

